﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using NakedObjects.Services;
using RTC.Modelo.Entidades;
using NakedObjects;
using System.ComponentModel;
using RTC.Modelo.UFC.UserProfile;

namespace RTC.Modelo.Servicios
{
    public class UserServices : AbstractService
    {
        private Dictionary<String, Int32> Usuarios = new Dictionary<String, Int32>();

        [Hidden]
        public int GetCurrentUserKey() { 
            int resultado = 0;
            if (Container.Principal.Identity.IsAuthenticated)
            {
                resultado = GetUserId();
            }
            return resultado;
        }

        //[DisplayName("Preferencias")]
        //public OperadorProfile GetPreferences() {
        //    return null;
        //}

        private Int32 GetUserId()
        {
            if (Usuarios.ContainsKey(""))
            {
                return Usuarios[Principal.Identity.Name];
            }
            else {
                return CreateNewUser();
            }
        }

        private int CreateNewUser()
        {
            Operador op = Container.NewTransientInstance<Operador>();
            Container.Persist<Operador>(ref op);
            return op.Id;
        }

    }
}
